Relationship Between Virtual Functions And Abstract Classes